import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 石方旭
 * Date: 2022-10-12
 * Time: 17:28
 */

@WebServlet("/showRequest")
public class ShowRequest extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html; charset=utf-8");
        StringBuilder res = new StringBuilder();
        //协议版本号
        res.append(req.getProtocol());
        res.append("<br>");
        //协议使用的方法
        res.append(req.getMethod());
        res.append("<br>");
        //从协议名称直到 HTTP 请求的第一行的查询字符串中，返回该请求的 URL 的一部分。
        res.append(req.getRequestURI());//hello_servlet/showRequest
        res.append("<br>");
        //返回指示请求上下文的请求 URI 部分
        res.append(req.getContextPath());//hello_servlet-->url的上下文路径
        res.append("<br>");
        res.append(req.getQueryString());
        res.append("<br>");
        Enumeration<String> headerNames = req.getHeaderNames();
        while(headerNames.hasMoreElements()){
            String name = headerNames.nextElement();
            res.append(name + ": " + req.getHeader(name));
            res.append("<br>");
        }
        //设置内容格式
        resp.getWriter().write(res.toString());
    }
}
